{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from sklearn import datasets\n",
    "import matplotlib.pyplot as plt\n",
    "digits=datasets.load_digits()\n",
    "X=digits.data\n",
    "\"\"\"需要用.copy(),否则会y[digits.target==9]变为空,digits为9的标签都为1。需要拷贝\"\"\"\n",
    "y=digits.target.copy()\n",
    "\"\"\"生成2分类问题，等于9或不等于9\"\"\"\n",
    "y[digits.target==9]=1\n",
    "y[digits.target!=9]=0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "x_train,x_test,y_train,y_test=train_test_split(X,y,test_size=0.2)\n",
    "log_reg=LogisticRegression(max_iter=100000)\n",
    "log_reg.fit(x_train,y_train)\n",
    "decision_scores=log_reg.decision_function(x_test)#计算x_test的决策分数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.metrics import precision_score,recall_score\n",
    "precisions=[]\n",
    "recalls=[]\n",
    "\"\"\"以决策分数最低——>决策分数最高区间，步长为0.1\"\"\"\n",
    "thresholds=np.arange(np.min(decision_scores),np.max(decision_scores),0.1)\n",
    "for threshold in thresholds:\n",
    "    y_predict=np.array(decision_scores>=threshold,dtype=\"int\")#以当前threshold为阈值分界\n",
    "    precisions.append(precision_score(y_test,y_predict))\n",
    "    recalls.append(recall_score(y_test,y_predict))\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x1a3ffaa1520>]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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3Vx99dVGktmyZYt/e21trcnPzzc33HCD2bZtm/nd735nkpOTzeOPP25dsRHor3/9q7n55pvN2rVrzZ49e8yf/vQnk5eXZ+666y7/Ppzr4Fm5cqVJTEw0K1asMNu3bzdz5841WVlZpry83OrSItr06dPN008/bbZt22a2bt1qrrnmGjN06FDT0NDg3+fWW281RUVFprS01GzatMlMmTLFTJs2LST1xFQYqaioMJLM66+/7t9WV1dnJJlXX33VGGPM6tWrjd1uN2VlZf59HnvsMZORkWGcTmfYa45kra2tprCw0Dz11FM97sP5Dq7Vq1eb0aNHm+3bt3cJI48++qjJzs7udF6///3vm1GjRllQaXR56KGHzPDhw/3POdfBM3nyZDNv3jz/c7fbbQYPHmyWLFliYVXR5/jx40aS+ec//2mMMaampsYkJCSYF1980b/PBx98YCSZDRs2BP3zY6qbZsCAARo1apR++9vfqrGxUW1tbXr88ceVl5enCRMmSJI2bNigCy64QPn5+f7jpk+frrq6Om3fvt2q0iPS22+/rSNHjshut2v8+PEaNGiQrr76am3bts2/D+c7eMrLyzV37lw999xzSklJ6fL6hg0bdNlllykxMdG/bfr06dq5c6eqq6vDWWrUqa2tVU5Ojv855zo4XC6XNm/erJKSEv82u92ukpISbdiwwcLKok9tba0k+b+PN2/erNbW1k7nfvTo0Ro6dGhIzn1MhRGbzabXXntNW7ZsUXp6upKSkvTII49ozZo1ys7OliSVlZV1+sUoyf+8rKws7DVHsr1790qSfvSjH+nuu+/WqlWrlJ2drcsvv1xVVVWSON/BYozRzTffrFtvvVUTJ07sdh/OdWjs3r1bv/rVr/SNb3zDv41zHRyVlZVyu93dnkvOY/B4PB7deeeduvjiizVmzBhJ3u/TxMREZWVlddo3VOc+KsLIwoULZbPZTnnbsWOHjDGaN2+e8vLy9MYbb2jjxo2aOXOmZsyYoWPHjln9z4gYvT3fHo9HkvTDH/5Q1113nSZMmKCnn35aNptNL774osX/isjQ23P9q1/9SvX19Vq0aJHVJUes3p7rkx05ckSf+tSn9MUvflFz5861qHLgzMybN0/btm3TypUrLash3rJPDqK77rpLN9988yn3Ofvss/X3v/9dq1atUnV1tf+yyI8++qheffVVPfvss1q4cKEKCgq6jNT2jR4uKCgISf2Rprfn2xfwzj//fP92h8Ohs88+WwcPHpQkzvdpBPK9vWHDhi7Xkpg4caJuuOEGPfvssyooKOgyEp5z3aG359rn6NGjuuKKKzRt2jQ98cQTnfbjXAdHbm6u4uLiuj2XnMfgmD9/vlatWqXXX39dQ4YM8W8vKCiQy+VSTU1Np9aRkJ37oI9C6cf+/Oc/G7vdburr6zttP/fcc81Pf/pTY0zHgMqTR2o//vjjJiMjw7S0tIS13khXW1trHA5HpwGsLpfL5OXl+WcVcL6D48CBA+a9997z39auXWskmZdeeskcOnTIGNMxqNLlcvmPW7RoEYMq++Dw4cNm5MiR5stf/rJpa2vr8jrnOngmT55s5s+f73/udrtNYWEhA1jPkMfjMfPmzTODBw82u3bt6vK6bwDrSy+95N+2Y8eOkA1gjakwUlFRYQYMGGCuvfZas3XrVrNz507zne98xyQkJJitW7caYzqmml511VVm69atZs2aNWbgwIFMNe2jO+64wxQWFpq1a9eaHTt2mFtuucXk5eWZqqoqYwznO1T27dvXZTZNTU2Nyc/PNzfeeKPZtm2bWblypUlJSWG6aYAOHz5szjnnHHPllVeaw4cPm2PHjvlvPpzr4Fm5cqVxOBzmmWeeMe+//775+te/brKysjrNwEPgbrvtNpOZmWnWrVvX6Xu4qanJv8+tt95qhg4dav7+97+bTZs2malTp5qpU6eGpJ6YCiPGGPOf//zHXHXVVSYnJ8ekp6ebKVOmmNWrV3faZ//+/ebqq682ycnJJjc319x1112mtbXVooojm8vlMnfddZfJy8sz6enppqSkxGzbtq3TPpzv4OsujBhjzDvvvGMuueQS43A4TGFhofnZz35mTYER7OmnnzaSur2djHMdPL/61a/M0KFDTWJiopk8ebL597//bXVJEa+n7+Gnn37av09zc7P55je/abKzs01KSor5/Oc/3yl0B5OtvSgAAABLRMVsGgAAELkIIwAAwFKEEQAAYCnCCAAAsBRhBAAAWIowAgAALEUYAQAAliKMAAAASxFGAACApQgjAADAUoQRAABgKcIIAACw1P8H6cK3PEzf6PQAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(thresholds,precisions)\n",
    "plt.plot(thresholds,recalls)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Precision-recall曲线"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\"\"\"很显然，随着precisions的增大，recalls在逐渐减小\"\"\"\n",
    "\"\"\"急剧下降的点，可能就是我们想要的平衡点\"\"\"\n",
    "plt.plot(precisions,recalls)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "scikit-learn中的precision-recall曲线"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.metrics import precision_recall_curve\n",
    "\"\"\"对应的精确率，召回率，阈值\"\"\"\n",
    "precisions,recalls,thresholds=precision_recall_curve(y_test,decision_scores)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(361,)"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "precisions.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(361,)"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "recalls.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(360,)"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "thresholds.shape#当precision为1，recall为0时，没有相应的阈值，所以少一个"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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kDFs586dXH311QwfPpzU1FRGjhzJnXfeic/n67ad9nX4LFq0iGHDhpGSkkJpaSmrVq0yHSnmLVy4kFNPPZXMzEwKCgq45JJL2Lx5c7dt2tvbmTdvHgMGDCAjI4MvfvGLVFdXRyaQlWBGjx5tXXjhhdYHH3xgbdmyxfrud79rpaWlWfv27bMsy7L8fr81fvx4q6yszFq7dq21dOlSKz8/31qwYIHh5LHpueees3Jzc62HHnrI2rx5s7VhwwbrmWeeCX1f+zv8vve971kXXHCBBVhr164NrW9oaLAKCwutr33ta9b69eutp59+2kpNTbUefvhhc2Fj0Msvv2xdeeWV1iuvvGJt27bN+utf/2oVFBRYN998c2gb7evwWbJkieV2u63HHnvM2rBhg3XNNddYOTk5VnV1teloMW3WrFnW448/bq1fv95at26ddeGFF1pDhw61mpubQ9tce+21VklJibVixQrr/ffft0477TRr5syZEcmTUGWkpqbGAqw33ngjtK6xsdECrOXLl1uWZVlLly61nE6nVVVVFdrmoYcesrKysiyv1xv1zLGso6PDKi4utn77298edRvt7/BaunSpNW7cOGvDhg2HlZEHH3zQys3N7bZff/jDH1pjx441kDS+/PKXv7SGDx8e+lr7OnymT59uzZs3L/R1IBCwBg8ebC1cuNBgqvizf/9+C7Bef/11y7Isq76+3kpOTraeffbZ0DYbN260AKu8vDzsn59Qh2kGDBjA2LFj+d///V9aWlrw+/08/PDDFBQUMHXqVADKy8uZMGEChYWFodfNmjWLxsZGNmzYYCp6TFqzZg179uzB6XQyZcoUBg0axAUXXMD69etD22h/h091dTXXXHMNv//970lLSzvs++Xl5Zx11lm43e7QulmzZrF582YOHjwYzahxp6Ghgby8vNDX2tfh4fP5WL16NWVlZaF1TqeTsrIyysvLDSaLPw0NDQChn+PVq1fT0dHRbd+PGzeOoUOHRmTfJ1QZcTgcvPrqq6xdu5bMzExSUlK47777WLZsGbm5uQBUVVV1+8UIhL6uqqqKeuZYtn37dgB+8pOfcNttt/Hiiy+Sm5vLOeecQ11dHaD9HS6WZXHllVdy7bXXMm3atCNuo30dGVu3buU3v/kN3/nOd0LrtK/Do7a2lkAgcMR9qf0YPsFgkO9///ucfvrpjB8/HrB/Tt1uNzk5Od22jdS+j4sycuutt+JwOI752LRpE5ZlMW/ePAoKCnjzzTdZtWoVl1xyCbNnz2bfvn2m/xgxo6f7OxgMAvDjH/+YL37xi0ydOpXHH38ch8PBs88+a/hPERt6uq9/85vf0NTUxIIFC0xHjlk93deftGfPHj73uc/x5S9/mWuuucZQcpHjM2/ePNavX8+SJUuMZUgy9slhdPPNN3PllVcec5sRI0bw2muv8eKLL3Lw4MHQbZEffPBBli9fzpNPPsmtt95KUVHRYTO1u2YPFxUVRSR/rOnp/u4qeCeddFJovcfjYcSIEVRUVABof3+K3vxsl5eXH3YviWnTpvG1r32NJ598kqKiosNmwmtfH9LTfd1l7969nHvuucycOZNHHnmk23ba1+GRn5+Py+U64r7UfgyP66+/nhdffJE33niDIUOGhNYXFRXh8/mor6/vNjoSsX0f9lko/djf/vY3y+l0Wk1NTd3Wjxkzxvr5z39uWdahCZWfnKn98MMPW1lZWVZ7e3tU88a6hoYGy+PxdJvA6vP5rIKCgtBZBdrf4bFr1y7ro48+Cj1eeeUVC7Cee+45q7Ky0rKsQ5MqfT5f6HULFizQpMo+2L17tzV69Gjrq1/9quX3+w/7vvZ1+EyfPt26/vrrQ18HAgGruLhYE1iPUzAYtObNm2cNHjzY2rJly2Hf75rA+txzz4XWbdq0KWITWBOqjNTU1FgDBgywLr30UmvdunXW5s2brR/84AdWcnKytW7dOsuyDp1qev7551vr1q2zli1bZg0cOFCnmvbRjTfeaBUXF1uvvPKKtWnTJuvqq6+2CgoKrLq6OsuytL8jZceOHYedTVNfX28VFhZa3/jGN6z169dbS5YssdLS0nS6aS/t3r3bGjVqlHXeeedZu3fvtvbt2xd6dNG+Dp8lS5ZYHo/HeuKJJ6x//etf1re//W0rJyen2xl40nvXXXedlZ2dba1cubLbz3Bra2tom2uvvdYaOnSo9dprr1nvv/++NWPGDGvGjBkRyZNQZcSyLOu9996zzj//fCsvL8/KzMy0TjvtNGvp0qXdttm5c6d1wQUXWKmpqVZ+fr518803Wx0dHYYSxzafz2fdfPPNVkFBgZWZmWmVlZVZ69ev77aN9nf4HamMWJZlffDBB9YZZ5xheTweq7i42PrFL35hJmAMe/zxxy3giI9P0r4On9/85jfW0KFDLbfbbU2fPt165513TEeKeUf7GX788cdD27S1tVnf/e53rdzcXCstLc36whe+0K10h5OjM5SIiIiIEXFxNo2IiIjELpURERERMUplRERERIxSGRERERGjVEZERETEKJURERERMUplRERERIxSGRERERGjVEZERETEKJURERERMUplRERERIxSGRERERGj/j8gVB9urIqwtwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#绘图，由于thresholds比precision与recall少一个值，所以要刨去一个\n",
    "plt.plot(thresholds,precisions[:-1])\n",
    "plt.plot(thresholds,recalls[:-1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "0.8536585365853658\n",
      "0.8536585365853658\n",
      "0.8536585365853658\n",
      "0.8536585365853658\n"
     ]
    }
   ],
   "source": [
    "for i in recalls:\n",
    "    for j in precisions:\n",
    "        if i==j:\n",
    "            print(i)\n",
    "            break\n",
    "        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 1.        , 1.        , 1.        , 1.        ,\n",
       "       1.        , 0.97560976, 0.97560976, 0.97560976, 0.97560976,\n",
       "       0.97560976, 0.97560976, 0.97560976, 0.97560976, 0.97560976,\n",
       "       0.97560976, 0.97560976, 0.97560976, 0.97560976, 0.97560976,\n",
       "       0.97560976, 0.97560976, 0.97560976, 0.97560976, 0.97560976,\n",
       "       0.97560976, 0.95121951, 0.95121951, 0.92682927, 0.92682927,\n",
       "       0.92682927, 0.92682927, 0.92682927, 0.92682927, 0.92682927,\n",
       "       0.92682927, 0.90243902, 0.90243902, 0.90243902, 0.90243902,\n",
       "       0.87804878, 0.87804878, 0.85365854, 0.85365854, 0.85365854,\n",
       "       0.85365854, 0.82926829, 0.82926829, 0.82926829, 0.80487805,\n",
       "       0.80487805, 0.80487805, 0.7804878 , 0.7804878 , 0.75609756,\n",
       "       0.73170732, 0.70731707, 0.68292683, 0.65853659, 0.63414634,\n",
       "       0.6097561 , 0.58536585, 0.56097561, 0.53658537, 0.51219512,\n",
       "       0.48780488, 0.46341463, 0.43902439, 0.41463415, 0.3902439 ,\n",
       "       0.36585366, 0.34146341, 0.31707317, 0.29268293, 0.26829268,\n",
       "       0.24390244, 0.2195122 , 0.19512195, 0.17073171, 0.14634146,\n",
       "       0.12195122, 0.09756098, 0.07317073, 0.04878049, 0.02439024,\n",
       "       0.        ])"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
